NesterJ NES Emulator for PSP ■ 概要 ファミコンエミュレータです。NNNesterJのソースをメインに、Nesterコード、 NesterJのコードも参考にして作成しました。NNNの特殊な機能は殆どDROPして いますが、NNNesterJからの修正コードはそのままにしています。当然ですが、 ターゲットはPSPのファームウェアVer1.00のみです。 ■ 使用方法 メモリースティックに /PSP/GAME/NesterJ という形のフォルダを作り、 同封の EBOOT.PBP と famicom.dat を置いてください。次に、実行させたいROM イメージを好きなフォルダに一つ以上コピーしてください。 ディスクシステムのゲームをするにはDISKSYS.ROMというディスクシステムのBIOS ファイルが別途必要です。それをEBOOT.PBPと同じ場所においてファイル選択する と動くはずです。DISKSYS.ROMが認識しているかどうかを確認するにはメニューの PREFERENCESのCHECK FDS BIOSを選んで「FDS BIOS is correct」と出れば認識 しています。 ■ メニュー説明 QUICK SLOT   現在のQUICK SLOT番号です。KEY CONFIGのQUICK LOAD/SAVEの保存先番号です。 STATE SAVE   現在のエミュレーション状態を保存します。保存スロットは0〜9の10個です。 STATE LOAD   保存したエミュレーション状態を呼び出します。現在の状態は破棄されます。 DISK CHANGE ディスクシステムのディスクを入れ替えます。(ディスクシステムROM使用時のみ) PREFERENCES CONFIG NesterJの全体的な動作に関する設定を行います。 ・EXTERNAL ROM DATABASE 外部ROMデータベースの参照をする(ENABLE)かしない(DISABLE)か設定します。 通常はENABLEで問題ありません。(設定後、次回ROMロード時より有効)  ・SAVE STATE THUMBNAIL   ステートセーブ時にスクリーンショットのサムネイル画像も保存するかどうか   を設定します。 ・SKIP DISK ACCESS ディスクシステムのデータアクセス中は画面更新を行わないかどうかの設定を   します。 ・TV MODE テレビのモードを設定します。NTSC(59.94FPS)かPAL(49.95FPS)です。通常はAUTO で問題ありません。(設定後、次回ROMロード時より有効)  ・RAPID MODE   連射回数の設定をします。60FPS動作として、30回/秒、20回/秒、15回/秒、10回/秒   の4つを選択できます。 ・SPEED MODE 1 SPEED MODE 1 有効時の動作スピードを設定します。単位はFPS。初期値は40FPS ・SPEED MODE 2 SPEED MODE 2 有効時の動作スピードを設定します。単位はFPS。初期値は80FPS ・CPU FREQUENCY   CPUの動作スピードを設定します。222MHz(標準)から333Mhz(仕様上最大)まで1Mhz単位   で設定できます。 ・SHOW FPS   ENABLEにすると画面左上に現在のフレームレートを表示します。 ・CHECK FDS BIOS ディスクシステムのBIOSファイルを検証します。正常(correct)か異常(Incorrect) かファイルなし(FILE NOT FOUND)が返ります。 GRAPHIC CONFIG NesterJの画像処理に関する設定を行います。 ・EXTEND SPRITES MODE ファミコンのライン上に8スプライト以上処理出来ない制限を無くし、全て描画 します。有効にすると若干重くなります。 ファミコン世代の人はDISABLE推奨。自機スプライト見えなくて死んだ懐かしい 記憶を思い出すことが出来ます。トラウマになってるひとはENABLEで。 ・BLACK AND WHITE MODE 画面をモノクロにします。目が疲れている時用?w  ・SCREEN SIZE   画面のサイズを選択します。 ・WAIT VBLANK(VSYNC) 画面を表示する際にVBRANKを待ってから行うかを設定します。ENABLEにすると 画面を更新しているところが見えなくなりますがVBRANKを待つ分遅くなります。 SOUND CONFIG NesterJのサウンドに関する設定を行います。 ・SOUND サウンドの出力の有無を設定します。OFFにすると若干全体の動作スピードが 軽くなります。 ・RECTANGLE 1 矩形波1出力の有無を設定します。 ・RECTANGLE 2 矩形波2出力の有無を設定します。 ・TRIANGLE 三角波出力の有無を設定します。 ・NOISE ノイズ出力の有無を設定します。 ・DPCM DPCM出力の有無を設定します。 ・EXTRA CHANNEL 拡張音源出力の有無を設定します。ディスクシステムのソフトの   一部や、ROMカセットの一部で使用している拡張音源には再現させる   のにすごく処理の重いものがあります。動作が遅い場合はこれを   DISABLEにすると良いでしょう。  ・SAMPLING RATE   音声のサンプリング出力を設定します。44100、22050、11025の3種   類選択可能です。数字が多いほど音質は良くなりますがサウンド処理   に時間が掛かります。 MENU COLOR CONFIG メニューの色や背景に関しての設定を行います。詳細説明は省略します。 KEY CONFIG ゲーム中のキーの割り当てを行います。 ・A BUTTON Aボタンに相当するボタン操作を設定します。デフォルトは○ボタン ・B BUTTON Bボタンに相当するボタン操作を設定します。デフォルトは×ボタン ・A BUTTON(RAPID) Aボタンの連射に相当するボタン操作を設定します。デフォルトは△ボタン 連射間隔はフレーム毎に切り替えているだけですので、フレームスキップ しまくってると連射にならないです。 ・B BUTTON(RAPID) Bボタンの連射に相当するボタン操作を設定します。デフォルトは□ボタン 連射間隔はフレーム毎に切り替えているだけですので、フレームスキップ しまくってると連射にならないです。 ・SELECT BUTTON セレクトボタンに相当するボタン操作を設定します。デフォルトはSELECT ・START BUTTON スタートボタンに相当するボタン操作を設定します。デフォルトはSTART ・MENU BUTTON NesterJメニュー呼び出しに相当するボタン操作を設定します。デフォルトはL  ・PLAYER2 MIC   2コントローラのマイク相当するボタン操作を設定します。デフォルトは未定義 ・SPEED MODE 1 PREFERENCES CONFIGで設定したFPSで動作します。デフォルトは未定義 ・SPEED MODE 2 PREFERENCES CONFIGで設定したFPSで動作します。デフォルトは未定義 ・SOUND ON/OFF サウンドのON/OFFの切り替えに相当するボタン操作を設定します。 デフォルトは未定義 ・SCREEN SIZE   表示する画面のサイズを変更します。デフォルトは未定義  ・QUICK SAVE   STATE SLOTで設定したスロットにセーブするボタン操作を設定します。   デフォルトは未定義  ・QUICK LOAD   STATE SLOTで設定したスロットにロードするボタン操作を設定します。   デフォルトは未定義  ・STATE SLOT   QUICK SAVE/LOADで使用するスロットを設定するボタン操作を設定します。   デフォルトは未定義 ・AnalogPad to D-Pad アナログパッドの操作をデジタルパッドの操作に置き換えるのか設定します。 デフォルトはON RINと内部コード的にもほぼ同じメニューなので、MENU.BMPを同じフォルダに 置くと背景画像がつきます。標準画像添付済 ■バグ報告方法 まず、NNNesterJで動かないものはこちらでも動きません(当然ですが)。 機能を削ってるので、特殊なコントローラが必要なものは対応できません。 NNNesterJ で動いて NesterJ for PSP で動かないものがありましたら、以下の情報を つけて報告していただけると原因を突き止めやすいです。 逆にいうと以下の情報がないと調査が出来ずに途方に暮れます… ※現状は必ず設定をデフォルト状態での確認をお願いいたします。デフォルトに戻す には NESTERJ.CFG を削除すると初期状態に戻ります。 ・タイトル ・マッパー番号、CRC等のデータ(NNNesterJのメニュー [Help]->[ROMinfo] で出た内容) ・どのように違うのか (例:背景がおかしくなる。キャラがおかしい。○○のところでPSP版が止まる(PSP操作不能)、 ○○のところでPSP版が止まる(メニュー表示やROM切り替えはできる)等) ・他なにか気になる事 些細なことでも構いません。それが解決の糸口になる可能性がありますので。 報告は http://jbbs.livedoor.jp/game/22862/ の NesterJ for PSP のデバッグ報告専用 スレ内で受け付けております。 -----------報告テンプレ----------------------------------------------------- タイトル:たけしの挑戦状 ROM情報:Mapper [ x ], PROM xxKB, CROM xxKB, FLAG xxxx, PROM CRC 0xXXXXXXXXX, ROM CRC 0xXXXXXXXX 違い:PSP版だと社長を殴った時にキャラの表示がバグります。ゲーム自体は動いてます。 その他:PSP版だと背景も一部表示がバグってます。伝説のクソゲーですが調査ヨロシク ---------------------------------------------------------------------------- 尚、報告をした方は改善された時も一言宜しくお願いします。報告のみだと直ったのか 分からないので不安になります^^;。 また、追跡調査も歓迎です。サウンドをDISABLEにしたら動いた等も原因の切り分けに なるので宜しくお願いいたします。 NNNesterJの入手先はこちらです。 http://www.emulation9.com/nnnesterj/ ■ 免責 自己責任で使用してください。配布自由。 ■ 謝辞 NNNesterJ、NesterJ、uoNester、そして本家のNesterの開発チーム。バグ報告者の 方々、RINの開発者のみらきちさん、RIN開発有志の方々、コード参考になりました。 その他の大勢の方々、ありがとうございます。 開発のエナジーはゲームセンターCXから戴いています。 (http://www.fujitv.co.jp/cs/gamecenter/index2.html)最高の番組だぁ! ■ フォントについて このアプリには http://hp.vector.co.jp/authors/VA013391/fonts/ で配布されているビットマップフォントである「ナガ10」が組み込まれています。 履歴 2005/07/02 v1.07 ファイル選択時に条件によりハングアップする問題修正 "WAIT VBRANK START"から "WAIT VBRANK(VSYNC)"に名称変更 2005/06/28 v1.06 チートGame Genieに対応(メニュー項目に追加)使い方は直感で^^; キー入力関連の問題を修正 サウンド処理を調整しサウンド処理を均等化になるように変更 (この変更により拡張音源を使ってないROMの殆どが333MHz動作時で VBrank有効、サウンド44.1K、フルスクリーンで60FPS動作します) 2005/06/24 v1.05 Sound処理を擬似MonoからMonoに変更 adviced by "e" Key入力、VBrankの処理変更による速度改善 SPEED MODEトグル処理を選択可能にした(Preferences部) キーアサインによるバッテリー表示 by smiths 2005/06/20 v1.04 ファイル選択のソート処理改善 SPEED MODEを少し押すとトグルになるように変更 by Mario ファイルI/O、メニューの細かい修正 2005/06/18 v1.03 PPUの処理改善(2〜4割高速化) SCREEN SIZE にx1.5 [4:2.9166] (cropped)を追加 by YASIT "x1.5(filtered)" の名称を "x1.5 [4:2.833]"に変更 2005/06/15 v1.02 PPU(画像処理チップエミュ)の処理改善(1〜2割高速化) SCREEN SIZE にx1.5(filtered)を追加 by YASIT 2005/06/13 v1.01 CPUの周波数設定追加。222〜333Mhzまで自由設定(Preferences部) 最後に選択したROMのあったフォルダを記憶するように変更 メニューの改善 2005/06/12 v1.00 QUICK SAVE時に稀に操作続行不能になる問題修正 QUICK SAVE/LOAD時の操作改善 画面サイズを前よりマシな設定に改善(Scanlineは目が痛くなるので廃止) アセンブラ使用による描画速度向上(NesterJ初のasm導入w) FPS表示設定追加(Preferences部) 2005/06/12 v0.97 エミュレーション精度を128倍向上 メニューのQUICK SLOT周り改善 2005/06/11 v0.96 QUICK SAVE時エミュレーションを一時停止するよう修正 メニューの操作性向上修正 サウンド周波数変更時EXTRA SOUNDの周波数が異常になる問題修正 連射速度の設定(30,20,15,10の4種)追加(Preferences部) 2005/06/10 v0.95 パレット管理方法変更による速度改善 どこでもセーブ&ロード機能実装(各0〜9の10個) どこでもセーブ&ロードのサムネイル機能実装(PSPオリジナル機能) サムネイル保存可否設定実装(Preferences部) 画面サイズ変更の口実装(現在テキトーな設定がある) サウンド周波数変更機能実装 PLAYER2 マイクボタン実装 KEY CONFIGの未実装部実装 連射処理の改善(NTSCで秒間30連射します) 2005/06/08 v0.84 マッパー5,34修正 マッパー9PPU処理部変更 (PSP&APU側)サウンド部コード改善(若干速度アップ) 目安としてFPS表示 2005/06/06 v0.83 ディスクシステムBIOSチェック機能追加 稀にディスクシステムが動かない問題修正 特定のソフトでハングアップする問題修正 2005/06/05 v0.82 ディスクシステムディスク入れ替え機能実装 稀にROM読み込みに失敗してしまう問題修正 設定ロード関連のバグ修正 CONFIGメニュー周りの操作向上の修正 MENU.BMP標準添付 デバッグ表示を左端に移動 2005/06/05 v0.81 サウンド初期化周り修正 PPU(画像処理チップエミュ)のPSPでは不要な処理カット 終了時の処理に問題のあるパスがあったので修正 VBRANK WAIT選択メニュー追加(Graphics部) 2005/06/04 v0.80 マッパー5,9,10修正 バッテリーバックアップROMのセーブ/ロード対応 Unzip新バージョンに差し替え 外部ROMDB参照設定実装 ディスクアクセススキップ設定実装 TVモード設定実装 スピードモード(2種)実装 拡張スプライト設定実装 白黒モード実装 サウンドON/OFF機能実装(各パート毎のON/OFF対応) 連射機能実装 設定の保存(するの忘れてました^^; ) 2005/06/03 v0.71 一部マッパー不具合修正 ROMによって動作スピードがおかしくなる問題修正 外部データベース参照の実装 2005/06/01 v0.70 音関連の修正 自動速度調整 ディスクシステムの調整 Unzip対応 2005/05/31 v0.50 音対応(不完全だけど...) ディスクシステム対応(要BIOS、コード上で確認したのみ) CPUメモリ間の若干の高速化 メニューからのリセット対応 2005/05/30 v0.01 とりあえずPSP上で動いたので公開 ------------------------------ ruka http://rukapsp.hp.infoseek.co.jp/ ------------------------------